/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package suministros.ejb30.business;

import java.math.BigDecimal;
import java.util.List;
import javax.ejb.Local;
import suministros.ejb30.TO.DetalleImpuestoTO;
import suministros.ejb30.TO.LicitacionActividadTO;
import suministros.ejb30.TO.LicitacionSuministroTO;
import suministros.ejb30.TO.OrdenTO;
import suministros.ejb30.TO.ParametrosConsultaTO;
import suministros.ejb30.entity.ComprobantePago;
import suministros.ejb30.entity.DetalleOrden;
import suministros.ejb30.entity.DetallePedidoSuministroPK;
import suministros.ejb30.entity.DetallePlantillaImpuesto;

/**
 *
 * @author Administrador
 */
@Local
public interface SumiAdministracionOrdenesBeanLocal {

    

    OrdenTO isExisteOrden(String nro_orden) throws Exception;

    boolean insertarComprobanteDeOrden(ComprobantePago comprobante, String cod_orden) throws Exception;

    List<DetalleImpuestoTO> retornarDetallesDeImpuesto(int plantilla, BigDecimal monto) throws Exception;

    List<LicitacionSuministroTO> verificarDetallePedidoEnLicitacion(String cod_pedido) throws Exception;

     public List<LicitacionSuministroTO> verificarDetallePedidoEnLicitacion(DetallePedidoSuministroPK detalle_pedido) throws Exception;

     List<LicitacionActividadTO> getActividadesPorLicitacionEspecifica(String id_licitacion, String id_suministro) throws Exception;

    public java.util.List<suministros.ejb30.TO.OrdenTO> consultarOrden(suministros.ejb30.TO.ParametrosConsultaTO parametros, int tipo_orden,int pagActual, int pagTamanno) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.ComprobantePagoTO> consultarComprobante(suministros.ejb30.TO.ParametrosConsultaTO parametros,int pagActual, int pagTamanno) throws java.lang.Exception;

    public boolean anularOrden(java.lang.String nro_orden) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.DetalleOrdenTO> getListaDetalleOrden(java.lang.String nro_orden) throws java.lang.Exception;

    public boolean modificarOrden(suministros.ejb30.entity.Orden orden, java.util.List<DetalleOrden> detalles) throws java.lang.Exception;

    public byte[] getComprobanteArchivo(int id_comprobante) throws java.lang.Exception;

    public String insertarOrden(suministros.ejb30.entity.Orden orden, java.util.List<suministros.ejb30.entity.DetalleOrden> detalle) throws java.lang.Exception;

    public boolean generaDocumentoAEmail(java.lang.String nro_orden, int tipo, java.lang.String cod_proveedor) throws suministros.ejb30.helper.EmailVacioException, java.lang.Exception;

    public int getNumeroDeOrdenes(ParametrosConsultaTO parametros, int tipo_orden) throws Exception;

    public int getNumeroDeComprobantes(ParametrosConsultaTO parametros) throws Exception;

    public java.util.List<suministros.ejb30.TO.OrdenTO> getOrdenesSinComprobante(java.util.List<suministros.ejb30.TO.ZonaTO> zonas_usuario, java.lang.String id_empresa) throws java.lang.Exception;

    public java.lang.String verificaDetalleOrdenEnPresupuesto(java.util.List<suministros.ejb30.TO.DetalleOrdenTO> detalle_orden, int mes) throws java.lang.Exception;

    public boolean modificarComprobanteArchivo(int id_comprobante, byte[] archivo)throws Exception;

    public java.util.List<suministros.ejb30.TO.DetalleOrdenTO> listarOrdenesSuministros(suministros.ejb30.TO.ParametrosConsultaTO parametros) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.OrdenTO> listarOrdenesProveedores(suministros.ejb30.TO.ParametrosConsultaTO parametros) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.OrdenTO> listarOrdenesTotales(suministros.ejb30.TO.ParametrosConsultaTO parametros) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.DetalleOrdenTO> listarOrdenesCuentas(suministros.ejb30.TO.ParametrosConsultaTO parametros) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.ComprobantePagoTO> getComprobantesOrden(java.lang.String nro_orden) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.RegularizacionMovimientoTO> getMovimientosRegularizar(java.lang.String cod_proveedor) throws java.lang.Exception;

    public boolean regularizaMovimientos(java.util.List<suministros.ejb30.TO.RegularizacionMovimientoTO> lista,String nro_orden) throws java.lang.Exception;

    public java.math.BigDecimal getMontoImpuesto(java.lang.Integer tipo_plantilla, java.math.BigDecimal sub_total) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.ImpuestoTO> getListaImpuestos() throws java.lang.Exception;

    public boolean eliminaImpuesto(int id_impuesto) throws java.lang.Exception;

    public boolean operaImpuesto(suministros.ejb30.entity.Impuesto impuesto,DetallePlantillaImpuesto dpi) throws java.lang.Exception;

    public boolean finalizarOrden(java.lang.String nro_orden) throws java.lang.Exception;

    public boolean modificaComprobante(suministros.ejb30.TO.ComprobantePagoTO comprobante) throws java.lang.Exception;
   

   
}
